The present invention is related to the field of data storage systems.
The performance of data storage systems typically depends in part on the arrangement or configuration of the stored data. For example, data items that are heavily utilized are often distributed among multiple storage devices in the system to avoid “bottlenecks”, i.e., devices that have long service times for data accesses because of the quantity of requests they receive. System performance is generally improved when different file systems and databases that receive heavy concurrent use are stored on different storage devices within the system.
There are known techniques for improving storage system performance by selectively moving stored data within a system in a manner calculated to reduce the service times provided by devices within the system. In one such technique, statistical data is collected regarding the input/output (I/O) accesses to logical volumes stored on storage devices within a storage system. This data is aggregated over many sub-intervals to obtain a measure of average service time for each storage device within the system over a measurement interval that may span several days or longer. Using an exhaustive search, a pair of candidate storage devices and one or more pairs of potentially exchangeable logical volumes are then identified. Further processing is then performed to determine whether the service times of the storage devices can be improved by exchanging the logical volumes of one or more of the pairs between the two drives, i.e., by moving each volume of the pair from its present storage device to the other storage device. In particular, it is determined whether the service time of the more heavily loaded storage device will be reduced, and the service time of the less heavily loaded storage device will not be increased unduly, if the exchange of logical volumes is performed. If it is determined that exchanging the logical volumes will result in a substantial improvement in performance, a swap operation is performed to actually carry out the exchange. This process can also be run on a single candidate storage device where the exchanging of logical volumes occurs on a single disk based on whether the service time of the storage device will be reduced. This process is repeated at periodic analysis intervals to enable the system to continuously adjust to changing workloads and other factors affecting the pattern of disk activity. A technique which is similar to that described above is provided in U.S. Pat. No. 6,711,649 to Bachmat et al. entitled “Load Balancing on Disk Array Storage Device.”